﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml.Serialization;

    [Serializable, XmlType(Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough, DesignerCategory("code")]
    public class Exposure20
    {
        private float exposureTimeField;
        private bool exposureTimeFieldSpecified;
        private float gainField;
        private bool gainFieldSpecified;
        private float irisField;
        private bool irisFieldSpecified;
        private float maxExposureTimeField;
        private bool maxExposureTimeFieldSpecified;
        private float maxGainField;
        private bool maxGainFieldSpecified;
        private float maxIrisField;
        private bool maxIrisFieldSpecified;
        private float minExposureTimeField;
        private bool minExposureTimeFieldSpecified;
        private float minGainField;
        private bool minGainFieldSpecified;
        private float minIrisField;
        private bool minIrisFieldSpecified;
        private ExposureMode modeField;
        private ExposurePriority priorityField;
        private bool priorityFieldSpecified;
        private Rectangle windowField;

        [XmlElement(Order=9)]
        public float ExposureTime
        {
            get
            {
                return this.exposureTimeField;
            }
            set
            {
                this.exposureTimeField = value;
            }
        }

        [XmlIgnore]
        public bool ExposureTimeSpecified
        {
            get
            {
                return this.exposureTimeFieldSpecified;
            }
            set
            {
                this.exposureTimeFieldSpecified = value;
            }
        }

        [XmlElement(Order=10)]
        public float Gain
        {
            get
            {
                return this.gainField;
            }
            set
            {
                this.gainField = value;
            }
        }

        [XmlIgnore]
        public bool GainSpecified
        {
            get
            {
                return this.gainFieldSpecified;
            }
            set
            {
                this.gainFieldSpecified = value;
            }
        }

        [XmlElement(Order=11)]
        public float Iris
        {
            get
            {
                return this.irisField;
            }
            set
            {
                this.irisField = value;
            }
        }

        [XmlIgnore]
        public bool IrisSpecified
        {
            get
            {
                return this.irisFieldSpecified;
            }
            set
            {
                this.irisFieldSpecified = value;
            }
        }

        [XmlElement(Order=4)]
        public float MaxExposureTime
        {
            get
            {
                return this.maxExposureTimeField;
            }
            set
            {
                this.maxExposureTimeField = value;
            }
        }

        [XmlIgnore]
        public bool MaxExposureTimeSpecified
        {
            get
            {
                return this.maxExposureTimeFieldSpecified;
            }
            set
            {
                this.maxExposureTimeFieldSpecified = value;
            }
        }

        [XmlElement(Order=6)]
        public float MaxGain
        {
            get
            {
                return this.maxGainField;
            }
            set
            {
                this.maxGainField = value;
            }
        }

        [XmlIgnore]
        public bool MaxGainSpecified
        {
            get
            {
                return this.maxGainFieldSpecified;
            }
            set
            {
                this.maxGainFieldSpecified = value;
            }
        }

        [XmlElement(Order=8)]
        public float MaxIris
        {
            get
            {
                return this.maxIrisField;
            }
            set
            {
                this.maxIrisField = value;
            }
        }

        [XmlIgnore]
        public bool MaxIrisSpecified
        {
            get
            {
                return this.maxIrisFieldSpecified;
            }
            set
            {
                this.maxIrisFieldSpecified = value;
            }
        }

        [XmlElement(Order=3)]
        public float MinExposureTime
        {
            get
            {
                return this.minExposureTimeField;
            }
            set
            {
                this.minExposureTimeField = value;
            }
        }

        [XmlIgnore]
        public bool MinExposureTimeSpecified
        {
            get
            {
                return this.minExposureTimeFieldSpecified;
            }
            set
            {
                this.minExposureTimeFieldSpecified = value;
            }
        }

        [XmlElement(Order=5)]
        public float MinGain
        {
            get
            {
                return this.minGainField;
            }
            set
            {
                this.minGainField = value;
            }
        }

        [XmlIgnore]
        public bool MinGainSpecified
        {
            get
            {
                return this.minGainFieldSpecified;
            }
            set
            {
                this.minGainFieldSpecified = value;
            }
        }

        [XmlElement(Order=7)]
        public float MinIris
        {
            get
            {
                return this.minIrisField;
            }
            set
            {
                this.minIrisField = value;
            }
        }

        [XmlIgnore]
        public bool MinIrisSpecified
        {
            get
            {
                return this.minIrisFieldSpecified;
            }
            set
            {
                this.minIrisFieldSpecified = value;
            }
        }

        [XmlElement(Order=0)]
        public ExposureMode Mode
        {
            get
            {
                return this.modeField;
            }
            set
            {
                this.modeField = value;
            }
        }

        [XmlElement(Order=1)]
        public ExposurePriority Priority
        {
            get
            {
                return this.priorityField;
            }
            set
            {
                this.priorityField = value;
            }
        }

        [XmlIgnore]
        public bool PrioritySpecified
        {
            get
            {
                return this.priorityFieldSpecified;
            }
            set
            {
                this.priorityFieldSpecified = value;
            }
        }

        [XmlElement(Order=2)]
        public Rectangle Window
        {
            get
            {
                return this.windowField;
            }
            set
            {
                this.windowField = value;
            }
        }
    }
}

